home *** CD-ROM | disk | FTP | other *** search
-
-
-
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
-
-
-
- NNNNAAAAMMMMEEEE
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss - Bindings for virtual mouse and key events
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The Motif reference pages describe key translations in terms
- of _v_i_r_t_u_a_l _b_i_n_d_i_n_g_s, based on those described in the _M_o_t_i_f
- _S_t_y_l_e _G_u_i_d_e.
-
- BBBBiiiinnnnddddiiiinnnnggggssss ffffoooorrrr oooossssffff KKKKeeeeyyyyssssyyyymmmmssss
- Keysym strings that begin with <<<<oooossssffff>>>> are not part of the X
- server's keyboard mapping. Instead, these keysyms are
- produced on the client side at run time. They are
- interpreted by the routine XXXXmmmmTTTTrrrraaaannnnssssllllaaaatttteeeeKKKKeeeeyyyy, and are used by
- the translation manager when the server delivers an actual
- key event. For each application, a mapping is maintained
- between <<<<oooossssffff>>>> keysyms and keysyms that correspond to actual
- keys. This mapping is based on information obtained at
- application startup from one of the following sources,
- listed in order of precedence:
-
- +o The XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttVVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss resource from Display.
-
- +o A property on the root window, which can be set by mmmmwwwwmmmm
- on startup, or by the xxxxmmmmbbbbiiiinnnndddd client, or on prior
- startup of a Motif application.
-
- +o The file ....mmmmoooottttiiiiffffbbbbiiiinnnndddd in the user's home directory.
-
- +o A set of bindings based on the vendor string and
- optionally the vendor release of the X server. Motif
- searches for these bindings in the following steps:
-
- 0. If the file xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss exists in the user's
- home directory, Motif searches this file for a
- pathname associated with the vendor string or
- with the vendor string and vendor release. If
- it finds such a pathname and if that file
- exists, Motif loads the bindings contained in
- that file.
-
- 1. If it has found no bindings, Motif next looks
- for the file xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss in the directory
- specified by the environment variable XXXXMMMMBBBBIIIINNNNDDDDDDDDIIIIRRRR,
- if XXXXMMMMBBBBIIIINNNNDDDDDDDDIIIIRRRR is set, or in the directory
- ////uuuussssrrrr////lllliiiibbbb////XXXXmmmm////bbbbiiiinnnnddddiiiinnnnggggssss if XXXXMMMMBBBBIIIINNNNDDDDDDDDIIIIRRRR is not set.
- If this file exists Motif searches it for a
- pathname associated with the vendor string or
- with the vendor string and vendor release. If
- it finds such a pathname and if that file
- exists, Motif loads the bindings contained in
- that file.
-
-
-
-
- Page 1 (printed 10/3/02)
-
-
-
-
-
-
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
-
-
-
- 2. If it still has found no bindings, Motif loads a
- set of hard-coded fallback bindings.
-
- The xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss file contains zero or more lines of the
- following form:
-
- "_v_e_n_d_o_r__s_t_r_i_n_g[ _v_e_n_d_o_r__r_e_l_e_a_s_e]" _b_i_n_d_i_n_g_s__f_i_l_e
-
- where _v_e_n_d_o_r__s_t_r_i_n_g is the X server vendor name as returned
- by the X client xxxxddddppppyyyyiiiinnnnffffoooo or the Xlib function XXXXSSSSeeeerrrrvvvveeeerrrrVVVVeeeennnnddddoooorrrr,
- and must appear in double quotes. If _v_e_n_d_o_r__r_e_l_e_a_s_e is
- included, it is the X server vendor release number as
- returned by the X client xxxxddddppppyyyyiiiinnnnffffoooo or the Xlib function
- XXXXVVVVeeeennnnddddoooorrrrRRRReeeelllleeeeaaaasssseeee, and must also be contained within the double
- quotes separated by one space from _v_e_n_d_o_r__s_t_r_i_n_g. The
- _v_e_n_d_o_r__r_e_l_e_a_s_e argument is provided to allow support of
- changes in keyboard hardware from a vendor, assuming that
- the vendor increments the release number to flag such
- changes. Alternatively, the vendor may simply use a unique
- vendor string for each different keyboard.
-
- The _b_i_n_d_i_n_g_s__f_i_l_e argument is the pathname of the file
- containing the bindings themselves. It can be a relative or
- absolute pathname. If it it is a relative pathname, it is
- relative to the location of the xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss file.
-
- Comment lines in the xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss file begin with !
- (exclamation point).
-
- The bindings found in either the ....mmmmoooottttiiiiffffbbbbiiiinnnndddd file or the
- vendor mapping are placed in a property on the root window.
- This property is used to determine the bindings for
- subsequent Motif applications.
-
- On startup mmmmwwwwmmmm attempts to load the file ....mmmmoooottttiiiiffffbbbbiiiinnnndddd in the
- user's home directory. If this is unsuccessful, it loads
- the vendor bindings as described previously. It places the
- bindings it loads in a property on the root window for use
- by subsequent Motif applications.
-
- The xxxxmmmmbbbbiiiinnnndddd function loads bindings from a file if that file
- is specified on the command line. If no file is specified
- on the command line, it attempts to load the file ....mmmmoooottttiiiiffffbbbbiiiinnnndddd
- in the user's home directory. If this fails, it loads the
- vendor bindings as described previously. It places the
- bindings it loads in a property on the root window for use
- by subsequent Motif applications.
-
- The format of the specification for mapping <<<<oooossssffff>>>> keysyms to
- actual keysyms is similar to that of a specification for an
- event translation. (See below) The syntax is specified (and
- below) here in EBNF notation using the following
-
-
-
- Page 2 (printed 10/3/02)
-
-
-
-
-
-
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
-
-
-
- conventions:
-
- [_a] Means either nothing or _a{_a} Means zero or more occurrences of _a(_a|_b) Means either _a or _b.
-
- Terminals are enclosed in double quotation marks.
-
- The syntax of an <<<<oooossssffff>>>> keysym binding specification is as
- follows:
-
- binding_spec = {line "\n"} [line]
- line = virtual_keysym ":" list_of_key_event
- list_of_key_event= key_event { "," key_event}
- key_event = {modifier_name} "<Key>" actual_keysym
- virtual_keysym = keysym
- actual_keysym = keysym
- keysym = A valid X11 keysym name that is
- mapped by XXXXSSSSttttrrrriiiinnnnggggTTTTooooKKKKeeeeyyyyssssyyyymmmm
-
- As with event translations, more specific event descriptions
- must precede less specific descriptions. For example, an
- event description for a key with a modifier must precede a
- description for the same key without the same modifier.
-
- Following is an example of a specification for the
- ddddeeeeffffaaaauuuullllttttVVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss resource in a resource file:
-
- *defaultVirtualBindings: \
- osfBackSpace: <Key>BackSpace \n\
- osfInsert: <Key>InsertChar \n\
- osfDelete: <Key>DeleteChar \n\
- ...
- osfLeft: <Key>left, Ctrl<Key>H
-
- The format of a ....mmmmoooottttiiiiffffbbbbiiiinnnndddd file or of a file containing
- vendor bindings is the same, except that the binding
- specification for each keysym is placed on a separate line.
- The previous example specification appears as follows in a
- ....mmmmoooottttiiiiffffbbbbiiiinnnndddd or vendor bindings file:
-
- osfBackSpace: <Key>BackSpace
- osfInsert: <Key>InsertChar
- osfDelete: <Key>DeleteChar
- ...
- osfLeft: <Key>left, Ctrl<Key>H
-
- The following table lists the fixed fallback default
- bindings for <<<<oooossssffff>>>> keysyms.
- FFFFaaaallllllllbbbbaaaacccckkkk DDDDeeeeffffaaaauuuulllltttt BBBBiiiinnnnddddiiiinnnnggggssss ffffoooorrrr oooossssffff KKKKeeeeyyyyssssyyyymmmmssss
- <<<<oooossssffff KKKKeeeeyyyyssssyyyymmmm>>>> FFFFaaaallllllllbbbbaaaacccckkkk DDDDeeeeffffaaaauuuulllltttt BBBBiiiinnnnddddiiiinnnngggg
- <<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>:::: <<<<KKKKeeeeyyyy>>>>KP_Enter
-
-
-
-
-
- Page 3 (printed 10/3/02)
-
-
-
-
-
-
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
-
-
-
- <<<<KKKKeeeeyyyy>>>>EEEExxxxeeeeccccuuuutttteeee
- <<<<oooossssffffAAAAddddddddMMMMooooddddeeee>>>>:::: SSSShhhhiiiifffftttt<<<<KKKKeeeeyyyy>>>>FFFF8888
- <<<<oooossssffffBBBBaaaacccckkkkSSSSppppaaaacccceeee>>>>:::: <<<<KKKKeeeeyyyy>>>>BBBBaaaacccckkkkSSSSppppaaaacccceeee
- <<<<oooossssffffBBBBeeeeggggiiiinnnnLLLLiiiinnnneeee>>>>:::: <<<<KKKKeeeeyyyy>>>>Home
- <<<<KKKKeeeeyyyy>>>>BBBBeeeeggggiiiinnnn
- <<<<oooossssffffCCCCaaaannnncccceeeellll>>>>:::: <<<<KKKKeeeeyyyy>>>>Escape
- <<<<KKKKeeeeyyyy>>>>CCCCaaaannnncccceeeellll
- <<<<oooossssffffCCCClllleeeeaaaarrrr>>>>:::: <<<<KKKKeeeeyyyy>>>>CCCClllleeeeaaaarrrr
- <<<<oooossssffffCCCCooooppppyyyy>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffCCCCuuuutttt>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffDDDDeeeelllleeeetttteeee>>>>:::: <<<<KKKKeeeeyyyy>>>>DDDDeeeelllleeeetttteeee
- <<<<oooossssffffDDDDeeeesssseeeelllleeeeccccttttAAAAllllllll>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffDDDDoooowwwwnnnn>>>>:::: <<<<KKKKeeeeyyyy>>>>DDDDoooowwwwnnnn
- <<<<oooossssffffEEEEnnnnddddLLLLiiiinnnneeee>>>>:::: <<<<KKKKeeeeyyyy>>>>EEEEnnnndddd
- <<<<oooossssffffHHHHeeeellllpppp>>>>:::: <<<<KKKKeeeeyyyy>>>>F1
- <<<<KKKKeeeeyyyy>>>>HHHHeeeellllpppp
- <<<<oooossssffffIIIInnnnsssseeeerrrrtttt>>>>:::: <<<<KKKKeeeeyyyy>>>>IIIInnnnsssseeeerrrrtttt
- <<<<oooossssffffLLLLeeeefffftttt>>>>:::: <<<<KKKKeeeeyyyy>>>>LLLLeeeefffftttt
- <<<<oooossssffffLLLLeeeeffffttttLLLLiiiinnnneeee>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffMMMMeeeennnnuuuu>>>>:::: SSSShhhhiiiifffftttt<<<<KKKKeeeeyyyy>>>>F10
- <<<<KKKKeeeeyyyy>>>>MMMMeeeennnnuuuu
- <<<<oooossssffffMMMMeeeennnnuuuuBBBBaaaarrrr>>>>:::: <<<<KKKKeeeeyyyy>>>>F10
- Shift<<<<KKKKeeeeyyyy>>>>MMMMeeeennnnuuuu
- <<<<oooossssffffNNNNeeeexxxxttttMMMMiiiinnnnoooorrrr>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffPPPPaaaaggggeeeeDDDDoooowwwwnnnn>>>>:::: <<<<KKKKeeeeyyyy>>>>NNNNeeeexxxxtttt
- <<<<oooossssffffPPPPaaaaggggeeeeLLLLeeeefffftttt>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffPPPPaaaaggggeeeeRRRRiiiigggghhhhtttt>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffPPPPaaaaggggeeeeUUUUpppp>>>>:::: <<<<KKKKeeeeyyyy>>>>PPPPrrrriiiioooorrrr
- <<<<oooossssffffPPPPaaaasssstttteeee>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffPPPPrrrriiiimmmmaaaarrrryyyyPPPPaaaasssstttteeee>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffPPPPrrrriiiioooorrrrMMMMiiiinnnnoooorrrr>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffRRRReeeesssseeeelllleeeecccctttt>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffRRRReeeessssttttoooorrrreeee>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffRRRRiiiigggghhhhtttt>>>>:::: <<<<KKKKeeeeyyyy>>>>RRRRiiiigggghhhhtttt
- <<<<oooossssffffRRRRiiiigggghhhhttttLLLLiiiinnnneeee>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffSSSSeeeelllleeeecccctttt>>>>:::: <<<<KKKKeeeeyyyy>>>>SSSSeeeelllleeeecccctttt
- <<<<oooossssffffSSSSeeeelllleeeeccccttttAAAAllllllll>>>>:::: _u_n_b_o_u_n_d
- <<<<oooossssffffSSSSwwwwiiiittttcccchhhhDDDDiiiirrrreeeeccccttttiiiioooonnnn>>>>:::: AAAAlllltttt<<<<KKKKeeeeyyyy>>>>Return
- Alt<<<<KKKKeeeeyyyy>>>>KKKKPPPP____EEEEnnnntttteeeerrrr
- <<<<oooossssffffUUUUnnnnddddoooo>>>>:::: <<<<KKKKeeeeyyyy>>>>UUUUnnnnddddoooo
- <<<<oooossssffffUUUUpppp>>>>:::: <<<<KKKKeeeeyyyy>>>>UUUUpppp
-
- CCCChhhhaaaannnnggggeeeessss iiiinnnn tttthhhheeee HHHHaaaannnnddddlllliiiinnnngggg ooooffff SSSShhhhiiiifffftttteeeedddd KKKKeeeeyyyyssss
- In conjunction with MIT X11R5 Patch 24, this version of
- Motif introduces a change in the way that keys involving the
- <Shift> modifier are processed. This change allows the
- numeric keypad to be used to generate numbers using the
- standard X mechanisms. Since the default behavior is now to
- honor the xmodmap keymap bindings, translations and virtual
- key bindings that use <Shift> may behave differently. A
- common symptom is that unshifted keypad and function keys
- (with or without other modifiers) produce the expected
-
-
-
- Page 4 (printed 10/3/02)
-
-
-
-
-
-
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
-
-
-
- results, but shifted ones do not.
-
- To obtain the old behavior you can remove the shifted
- interpretation from problematic keys using the xxxxmmmmooooddddmmmmaaaapppp
- utility. Each entry in a xxxxmmmmooooddddmmmmaaaapppp keymap table contains up to
- four keysym bindings. The second and fourth keysyms are for
- shifted keys. If an expression contains only two keysyms,
- simply remove the second keysym. If an entry contains three
- or more keysyms, replace the second keysym with NNNNooooSSSSyyyymmmmbbbboooollll and
- remove the fourth keysym.
-
- AAAAccccttttiiiioooonnnn TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
- The translation table syntax used by Motif is completely
- specified in the X11R5 Toolkit Intrinsics Documentation. For
- the complete syntax description, and for general
- instructions about writing or modifying a translation table,
- please refer to this document. A brief summary of the
- translation table format, however, is included below.
-
- The syntax is defined as in the binding syntax specification
- above. Informal descriptions are contained in angle
- brackets (<>).
-
- TranslationTable= [ directive ] { production }
- directive = ( "#replace" | "#override" | "#augment") "\n"
- production = lhs ":" rhs "\n"
- lhs = ( event | keyseq) {"," ( event | keyseq) }
- keyseq = """ keychar { keychar } """
- keychar = ( "^" | "$" | "\\") <ISO Latin 1 character>
- event = [ modifier_list ] "<" event_type ">" [ count ] {detail}
- modifier_list = ( ["!"][":"] { modifier } | "None")
- modifier = [ "~" ] ( "@" <keysym> | <name from table below>)
- count = "(" <positive integer> [ "+" ] ")"
- rhs = { action_name "(" [params] ")" }
- params = string { "," string }
- The _s_t_r_i_n_g field need not be quoted unless it includes a
- space or tab character, or any comma, newline, or
- parenthesis. The entire list of string values making up the
- _p_a_r_a_m_s field will ba passed to the named action routine.
-
- The _d_e_t_a_i_l_s field may be used to specify a keysym that will
- identify a particular key event. For example, <<<<KKKKeeeeyyyy>>>> is the
- name of a type of event, but it must be modified by the
- _d_e_t_a_i_l_s field to name a specific event, such as <<<<KKKKeeeeyyyy>>>>AAAA.
-
- MMMMooooddddiiiiffffiiiieeeerrrr NNNNaaaammmmeeeessssThe modifier list, which may be empty,
- consists of a list of modifier keys that must be pressed
- with the key sequence. The modifier keys may abbreviated
- with single letters, as in the following list of the
- familiar modifiers:
-
- s Shift
-
-
-
- Page 5 (printed 10/3/02)
-
-
-
-
-
-
- VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
-
-
-
- c or ^ Ctrl (Control)
-
- m or $ Meta
-
- a Alt
-
- Other modifiers are available, such as "Mod5" and "Button2."
- These have no abbreviation (although the "Button" modifiers
- may be abbreviated in combination with events, as outlined
- below). If a modifier list has no entries, and is not
- "None", it means the position of the modifier keys is
- irrelevant. If modifiers are listed, the designated keys
- must be in the specified position, but the unlisted modifier
- keys are irrelevant. If the list begins with an exclamation
- point (!), however, the unlisted modifiers may not be
- asserted. In addition, if a modifier name is preceded by a
- tilde (~), the corresponding key must _n_o_t be pressed.
-
- If a modifier list begins with a colon (:), X tries to use
- the standard modifiers (Shift and Lock), if present, to map
- the key event code into a recognized keysym.
-
- Event Types These are a few of the recognized event types.
-
- Key or KeyDown
- A keyboard key was pressed.
-
- KeyUp A keyboard key was released.
-
- BtnDown A mouse button was pressed.
-
- BtnUp A mouse button was released.
-
- Motion The mouse pointer moved.
-
- Enter The pointer entered the widget's window.
-
- Leave The pointer left the widget's window.
-
- FocusIn The widget has received focus.
-
- FocusOut The widget has lost focus.
-
- There are some event abbreviations available. For example,
- <<<<BBBBttttnnnn1111MMMMoooottttiiiioooonnnn>>>> is actually a "Motion" event, modified with the
- "Button1" modifier (BBBBuuuuttttttttoooonnnn1111<<<<MMMMoooottttiiiioooonnnn>>>>). Similarly, <<<<BBBBttttnnnn3333UUUUpppp>>>>is
- actually a "BtnUp" event with the "Button3" modifier. These
- abbreviations are used extensively in the Motif translation
- tables.
-
- RRRREEEELLLLAAAATTTTEEEEDDDD
- xxxxmmmmbbbbiiiinnnndddd(1)
-
-
-
- Page 6 (printed 10/3/02)
-
-
-
-